package com.sg.dto.biz.component.req;

import com.sg.dto.biz.component.common.ItemDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc ImplementEviFileChainComReqDto
 * @使用场景
 */
@Data
public class ImplementEviFileChainComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 区块链上链地址
     */
    @ApiModelProperty("区块链上链地址")
    private String validChainCreate;

    /**
     * 上链用户Key
     */
    @NotNull(message = "上链用户Key不能为空")
    @ApiModelProperty("上链用户Key")
    private String appKey;

    /**
     * 上链签名
     */
    @NotNull(message = "上链签名不能为空")
    @ApiModelProperty("上链签名")
    private String chainSignature;

    /**
     * 上链系统时间戳
     */
    @NotNull(message = "上链系统时间戳不能为空")
    @ApiModelProperty("上链系统时间戳")
    private Long chainTimeMap;

    @ApiModelProperty("上链内容列表")
    private List<ItemDto> itemList = new ArrayList<>();

    /**
     * 上链用户名称
     */
    @ApiModelProperty("上链用户名称")
    private String userName;

    /**
     * 上链证件类型
     */
    @ApiModelProperty("上链证件类型")
    private String identType;

    /**
     * 上链证件号
     */
    @ApiModelProperty("上链证件号")
    private String identNo;

    /**
     * 上链业务ID
     */
    @NotNull(message = "上链业务ID不能为空")
    @ApiModelProperty("上链业务ID")
    private Long productId;

    /**
     * 上链事务ID
     */
    @NotNull(message = "上链事务ID不能为空")
    @ApiModelProperty("上链事务ID")
    private Long workId;

    /**
     * 上链节点ID
     */
    @NotNull(message = "上链节点ID不能为空")
    @ApiModelProperty("上链节点ID")
    private Long stepId;

}
